package org.wishwork.api.product.common.upload;

import lombok.*;

import java.math.BigDecimal;
import java.util.List;

/**
 * @description:
 * @author: WangYX
 * @create: 2022-04-08 17:44
 * @Version: 1.0.0
 **/
@Getter
@ToString
@EqualsAndHashCode
@Builder
public class CommonProductUploadRequest {

    /**
     * 必填
     * 商品编码
     */
    @NonNull
    private String skuId;

    /**
     * 必填
     * 款式编码
     */
    @NonNull
    private String iId;

    /**
     * 非必填
     * 品牌，可更新
     */
    private String brand;

    /**
     * 非必填
     * 虚拟分类，可更新
     */
    private String vcName;

    /**
     * 非必填
     * 商品分类，必须是[商品类目管理]中的叶子节点，可更新
     */
    private String cName;

    /**
     * 非必填
     * 基本售价，可更新
     */
    private BigDecimal sPrice;

    /**
     * 非必填
     * 商品属性，可选值["成品", "半成品", "原材料", "包材"]，可更新
     */
    private String itemType;

    /**
     * 非必填
     * 长，可更新
     */
    private BigDecimal l;

    /**
     * 非必填
     * 宽，可更新
     */
    private BigDecimal w;

    /**
     * 非必填
     * 高，可更新
     */
    private BigDecimal h;

    /**
     * 非必填
     * 图片地址，可更新
     */
    private String pic;

    /**
     * 非必填
     * 大图地址，可更新
     */
    private String picBig;

    /**
     * 非必填
     * 商品图片，可更新
     */
    private String skuPic;

    /**
     * 非必填
     * 名称，可更新
     */
    private String name;

    /**
     * 非必填
     * 备注，可更新
     */
    private String remark;

    /**
     * 非必填
     * 颜色及规格，可更新
     */
    private String propertiesValue;

    /**
     * 非必填
     * 简称，可更新
     */
    private String shortName;

    /**
     * 非必填
     * 重量，可更新
     */
    private BigDecimal weight;

    /**
     * 非必填
     * 是否启用，默认值1, 可选值: -1=禁用, 0=备用, 1=启用，可更新
     */
    private Integer enabled;

    /**
     * 非必填
     * 供应商名称，可更新
     */
    private String supplierName;

    /**
     * 非必填
     * 国标码，可更新
     */
    private String skuCode;

    /**
     * 非必填
     * 供应商商品编码，可更新
     */
    private String supplierSkuId;

    /**
     * 非必填
     * 供应商款式编码，可更新
     */
    private String supplierIId;

    /**
     * 非必填
     * 其它价格1，可更新
     */
    private BigDecimal otherPrice1;

    /**
     * 非必填
     * 其它价格2，可更新
     */
    private BigDecimal otherPrice2;

    /**
     * 非必填
     * 其它价格3，可更新
     */
    private BigDecimal otherPrice3;

    /**
     * 非必填
     * 其它价格4，可更新
     */
    private BigDecimal otherPrice4;

    /**
     * 非必填
     * 其它价格5，可更新
     */
    private BigDecimal otherPrice5;

    /**
     * 非必填
     * 其它属性1，可更新
     */
    private String other1;

    /**
     * 非必填
     * 其它属性2，可更新
     */
    private String other2;

    /**
     * 非必填
     * 其它属性3，可更新
     */
    private String other3;

    /**
     * 非必填
     * 其它属性4，可更新
     */
    private String other4;

    /**
     * 非必填
     * 其它属性5，可更新
     */
    private String other5;

    /**
     * 非必填
     * 禁止同步，true=禁止，false=允许，可更新
     */
    private Boolean stockDisabled;

    /**
     * 非必填
     * 成本价，可更新
     */
    private BigDecimal cPrice;

    /**
     * 非必填
     * 市场|吊牌价，可更新
     */
    private BigDecimal marketPrice;

    /**
     * 非必填
     * 单位
     */
    private String unit;

    /**
     * 非必填
     * 标签
     */
    private List<String> labels;

    /**
     * 非必填
     * 是否启用生产批次
     */
    private Boolean batchEnabled;

    /**
     * 非必填
     * 是否启用序列号
     */
    private Boolean isSeriesNumber;

    /**
     * 非必填
     * 辅助码；系统中相关业务项需配置
     */
    private String otherCode;

    /**
     * 非必填
     * 保质期天数
     */
    private Integer shelfLife;

}
